# dict: 字典类似java的LinkedHashMap。保证键不重复和写入顺序和遍历顺序一致
# 字典的创建
my_dict = {
    "name": "mia",  # 键值对 "key": value的形式
    'gender': False,
    'age': 18,
    'name': 'jack'  # 键重复的话，会覆盖掉之前的值
}
print("my_dict: ", my_dict)
print("my_dict数据类型: ", type(my_dict))

# 字典的创建，可以使用dict()函数
my_dict = dict(name='jack', age=18, gender=False)

# 创建空的字典
my_dict2: dict[str, int] = {}
print("my_dict2:", my_dict2)
print("my_dict2数据类型:", type(my_dict2))

# 新增或者修改键值对
my_dict['height'] = 170
print("新增后的字典: ", my_dict)

# 修改键值对
my_dict.update({'weight': 60})

# 获取键值对
print("name的值: ", my_dict['name'])
print("gender的值: ", my_dict.get('gender'))

# 删除键值对
del my_dict['age']
my_dict.pop('name')
print("根据key删除后的字典:", my_dict)

# 成员函数
print("成员函数in: ", 'name' in my_dict)

# 字典的遍历
for i in my_dict:
    print(i, my_dict[i])

# 遍历items、keys、values
print(my_dict.items())
for k, v in my_dict.items():
    print("键值对", k, v)
for k in my_dict.keys():
    print("键", k)
for v in my_dict.values():
    print("值", v)
